@Luminary
2年前 提问
1个回答

虚拟化技术面临哪些安全威胁

一颗小胡椒
2年前

虚拟化技术面临以下安全威胁:

  • 数据泄露和丢失:相较于物理独立的传统计算系统而言,在多租户的虚拟化环境下,计算资源是物理共享的,其隔离是软件层面的。例如CPU的隔离是基于时间片轮转的,内存的隔离是基于Hypervisor维护的逻辑页表。虚拟化平台的多租户资源共享和动态迁移等特性使得数据泄露和丢失威胁在该框架中更容易。在虚拟化平台中,数据泄露表现为两种形式:外部数据泄露给虚拟机内部,虚拟机自身数据泄露给外部软件,是主要的安全威胁。DMA攻击、侧信道攻击、虚拟机跨域访问等方式都可以导致严重的信息泄露,给个人或企业带来不可估量的灾难。数据丢失是指数据被删除、销毁或者毁坏。攻击者的目的并不仅仅是窃取用户的数据,而是对用户的数据进行破坏。近几年数据窃取和丢失事件不断出现,针对此类攻击采取的主要防护方式是数据加密、访问控制和隔离机制。

  • 控制流截获及后门:控制流截获是攻击者利用系统漏洞或脆弱性使指令按攻击者的意图执行。控制流截获主要是对系统内部的控制结构(中断表、系统调用表)、跳转结构(控制指针、空指针)进行修改,或者利用系统原有指令组合执行。

  • 拒绝服务:在云服务中,虚拟化层的DoS威胁所占比例很高,包括对硬件资源(如内存、CPU和网卡等)及虚拟网络等资源的访问不响应。攻击者通过网络风暴、中断风暴以及挂起硬件或控制服务,导致其他虚拟机产生资源饥饿、服务不响应来实现攻击。同时攻击者在虚拟化环境下可以方便地批量租用虚拟机,或者利用虚拟平台的漏洞批量控制该平台上的虚拟机实施DDoS攻击。对于DoS威胁,主要的防护方式是对资源进行监控或者对吞吐量进行限制。

  • 虚拟机镜像威胁:在虚拟平台中,虚拟机的启动和容灾恢复都是利用虚拟机镜像。虽然可以直接对虚拟机镜像打补丁以防范虚拟机中的漏洞,但也为内部攻击者提供了可乘之机。如果攻击者事先对虚拟机的镜像文件进行了修改、替换,则启动后的虚拟机完全受攻击者控制。对于虚拟机镜像的防护主要是利用完整性验证方案,在系统启动之前对镜像文件进行完整性检测。

  • 运行时代码和数据篡改:保证系统和软件启动过程中的完整性可以利用可信启动等技术,然而该方法并不适用于运行时。代码篡改是一个非常严重的安全问题,攻击者通过缓冲区溢出、库函数映射等实现对 Hypervisor、GOS 等代码的注入和修改,这些都可导致控制流截获、安全机制被关闭或绕过、提权、隐藏攻击行为、遗留后门等。

  • 权限提升:权限提升包括从用户层到内核层、从内核层到虚拟化层两部分,其在虚拟化中举足轻重。权限提升可以使攻击者获得更高的权限,运行的代码级别更高,危害更大。在虚拟化中权限提升的主要表现形式是虚拟机逃逸,该威胁表现为客户虚拟机利用Hypervisor 的脆弱性漏洞使Hypervisor与客户虚拟机之间的隔离被破坏,从而导致客户虚拟机的代码运行在 Hypervisor 特权级,因此可以直接执行特权指令。

  • 不可信的云内部人员:云提供商员工在理论上被认为是可信的。但是Google员工窃听用户数据事件和棱镜门事件足以证明云内部人员并非完全可信。云内部人员可能拥有过高的访问权限,而且他们的行为不受防火墙和入侵检测系统限制。正因如此,内部人员在利益驱动下很容易侵犯用户的隐私,窃取用户的数据,甚至将用户的个人数据提供给第三方。以 Xen 为例,管理员可以对用户的虚拟机做快照和 dump 备份,甚至可以监听用户的网络。对这类威胁的防护一方面是让虚拟机的管理过程对用户可见,另一方面是提供安全有效的硬件机制来保护客户的数据安全。